perm filename INSAN2.LAP[206,JMC] blob sn#070510 filedate 1973-11-02 generic text, type T, neo UTF8
(LAP POO SUBR) 
       (PUSH P 1) 
       (CAIE 1 (QUOTE R) S) 
       (JRST 0 TAG2) 
       (MOVEI 1 (QUOTE 1)) 
       (JRST 0 TAG1) 
 TAG2  (CAIE 1 (QUOTE W) S) 
       (JRST 0 TAG3) 
       (MOVEI 1 (QUOTE 2)) 
       (JRST 0 TAG1) 
 TAG3  (CAIE 1 (QUOTE G) S) 
       (JRST 0 TAG4) 
       (MOVEI 1 (QUOTE 4)) 
       (JRST 0 TAG1) 
 TAG4  (MOVEI 1 (QUOTE 10)) 
 TAG1  (SUB P (C 1 0 1 0)) 
       (POPJ P) 
       NIL 

(LAP ZAP SUBR) 
       (PUSH P 1) 
       (JUMPN 1 TAG2) 
       (MOVEI 1 (QUOTE 0)) 
       (JRST 0 TAG1) 
 TAG2  (HLRZ@ 1 0 P) 
       (CALL 1 (E POO) S) 
       (PUSH P 1) 
       (HRRZ@ 1 -1 P) 
       (CALL 1 (E ZAP) S) 
       (MOVEI 2 (QUOTE 20)) 
       (CALL 2 (E *TIMES) S) 
       (POP P 2) 
       (CALL 2 (E *PLUS) S) 
 TAG1  (SUB P (C 1 0 1 0)) 
       (POPJ P) 
       NIL 

(SETQ PUZZA (MAPCAR (FUNCTION (LAMBDA (X) (MAPCAR (FUNCTION ZAP) X))) PUZZ)) 

(LAP LOSE SUBR) 
       (MOVEI 1 (QUOTE NIL)) 
       (POPJ P) 
       NIL 

(LAP TER SUBR) 
       (MOVEI 2 (QUOTE 4)) 
       (HLRZ@ 1 1) 
       (JCALL 2 (E EQUAL) S) 
       NIL 

(LAP SUBFUN1SUCCESSORS SUBR) 
       (PUSH P 1) 
       (PUSH P (C 0 0 TAG1 0)) 
       (PUSH P (C 0 0 (QUOTE 1) 0)) 
       (HRRZ@ 1 (SPECIAL P) S) 
       (HLRZ@ 1 1) 
       (PUSH P 1) 
       (PUSH P -3 P) 
       (MOVNI 6 3) 
       (JCALL 16 (E BOOLE) S) 
 TAG1  (CAIE 1 (QUOTE 0)) 
       (TDZA 1 1) 
       (MOVEI 1 (QUOTE T) S) 
       (SUB P (C 1 0 1 0)) 
       (POPJ P) 
       NIL 

(LAP SUBFUN2SUCCESSORS SUBR) 
       (PUSH P 1) 
       (HLRZ@ 1 (SPECIAL P) S) 
       (CALL 1 (E ADD1) S) 
       (PUSH P 1) 
       (PUSH P (C 0 0 TAG1 0)) 
       (PUSH P (C 0 0 (QUOTE 7) 0)) 
       (HRRZ@ 1 (SPECIAL P) S) 
       (HLRZ@ 1 1) 
       (PUSH P 1) 
       (PUSH P -4 P) 
       (MOVNI 6 3) 
       (JCALL 16 (E BOOLE) S) 
 TAG1  (HRRZ@ 2 (SPECIAL P) S) 
       (HRRZ@ 2 2) 
       (HLRZ@ 2 2) 
       (EXCH 1 -1 P) 
       (CALL 2 (E CONS) S) 
       (CALL 1 (E NCONS) S) 
       (MOVE 2 -1 P) 
       (CALL 2 (E XCONS) S) 
       (POP P 2) 
       (SUB P (C 1 0 1 0)) 
       (JCALL 2 (E XCONS) S) 
       NIL 

(LAP SUCCESSORS SUBR) 
       (JSP 6 SPECBIND) 
       (0 1 (SPECIAL P) S) 
       (HLRZ@ 1 1) 
       (PUSH P (SPECIAL PUZZA) S) 
       (CALL 1 (E ADD1) S) 
       (MOVE 2 1) 
       (POP P 1) 
       (CALL 2 (E NTH) S) 
       (HLRZ@ 3 1) 
       (MOVEI 2 (QUOTE SUBFUN2SUCCESSORS) S) 
       (MOVEI 1 (QUOTE SUBFUN1SUCCESSORS) S) 
       (CALL 3 (E MAPCHOOSE) S) 
       (JRST 0 SPECSTR) 
       NIL